package com.translate.service.service.trans;

import com.translate.commons.bean.TransItemBean;
import com.translate.commons.enums.TransType;
import com.translate.commons.enums.TranslateFieldType;
import com.translate.service.model.TransModel;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

/**
 * 翻译功能Demo
 * 这里就是翻译功能的入口
 * 组装好翻译信息，调用trans
 */
public class TranDemoService {

    @Autowired
    AutoTransService autoTransService;

    /**
     *
     * @param transModel 翻译的数据信息，主数据的id等等
     * @param tarLans 需要翻译成什么语言
     */
    public void trans(List<TransModel> transModel, List<String> tarLans) {
        // 省去数据判空过程
        // 最好别原样复制啊
        // 这个地方反正是业务代码你总要重新写，我就写个思路，你可别忘了空判断

        for (TransModel model : transModel) {
            Integer id = model.getDataId();

            // 获取中文数据对象，数据库里取，这是demo我就直接写个null了
            Object dataInfo = null;

            // 查找其他语言对象
            Object dataInfo_other = null;

            // 设置翻译信息
            TransItemBean transItem = new TransItemBean(dataInfo, dataInfo_other, model.getOldData());
            transItem.addField("字段名", TransType.DIST);
            transItem.addFieldApi("字段名", TranslateFieldType.WAREHOUSE_NAME);
            transItem.addFieldDist("字段名", TranslateFieldType.WAREHOUSE_NAME); // 数据库字典编码

            TransResultBean transResult = autoTransService.trans(transItem);

            if (transResult == null) {
                continue;
            }
            if (transResult.isAdd()) {
                // 执行新增
            }
            if (transResult.isUpdate()) {
                // 执行修改
            }
        }
    }

}
